草庐IT

dart - Flutter中TextField的TextScaleFactor?

全部标签

Flutter 中不得不会的 mixin

mixin是Dart中非常重要的概念,对于未接触过此概念的Coder来说尤其重要,最近看源码的时候,由于对mixin不熟悉导致理解出现偏差,走了很多弯路,所以这篇文章介绍一下mixin概念。Dart及Engine版本:Engine•revisionae90085a84Tools•Dart2.10.4请注意版本,不同的版本可能存在差异。先来看下官方的定义:Mixinsareawayofreusingaclass’scodeinmultipleclasshierarchies.Mixins是一种在多个类层次结构中重用类代码的方法。在来看下Wiki的解释:Inobject-orientedprogr

Flutter-填平菜鸟和高手之间的沟壑

Flutter-填平菜鸟和高手之间的沟壑准备写作中... 1、Flutter-skia-影像,Flutterskia-图形渲染层、应用渲染层2、方法通道使用示例,用于演示如何使用方法通道实现与原生代码的交互 需求:提示用户跳转到应用市场去评分 在实际业务中,提示用户跳转到应用市场(iOS为AppStore、Android则为各类手机应用市场)去评分是一个高频需求,考虑到Flutter并未提供这样的接口,而跳转方式在Android和iOS上各不相同,因此我们需要分别在Android和iOS上实现这样的功能,并暴露给Dart相关的接口。 我们先来看看作为客户端的Flutter,怎样实现一次方法调用

【老孟Flutter】Flutter 2.0 重磅更新

老孟导读:昨天期待已久的Flutter2.0终于发布了,Web端终于提正了,春季期间我发布的一篇文章,其中的一个预测就是Web正式发布,已经实现了,还有一个预测是:2021年将是Flutter大跃进的一年,等今年你年底总结的时候,让我们在来验证下这个预测是否应验。后面几天会陆续发布Flutter2.0更新更加详细的内容更新,敬请关注。下面就让我们看看Flutter2.0都有哪些重磅更新,原文链接:https://developers.googleblog.com/2021/03/announcing-flutter-2.html我们针对Web,移动端和台式机构建的下一代Flutter今天,我们

【老孟Flutter】Flutter 2的新功能

老孟导读:昨天期待已久的Flutter2.0终于发布了,FlutterWeb和Null安全性趋于稳定,Flutter桌面安全性逐渐转向Beta版!原文链接:https://medium.com/flutter/whats-new-in-flutter-2-0-fe8e95ecc65今天,我们很高兴地宣布Flutter2的发布。距离Flutter1.0的发布已经两年多了,但是在很短的时间内,我们已经关闭了24,541期,并合并了765个贡献者的17,039个PR。自9月Flutter1.22发布以来,我们已经关闭了5807期并合并了298位贡献者的4091个PR。特别感谢我们的志愿者捐助者,他们

Flutter Widget中的State

一、Flutter的声明式视图开发在原生系统(Android、iOS)或原生JavaScript开发的话,应该知道视图开发是命令式的,需要精确地告诉操作系统或浏览器用何种方式去做事情。比如,如果我们想要变更界面的某个文案,则需要找到具体的文本控件并调用它的控件方法命令,才能完成文字变更。 //Android设置某文本控件展示文案为HelloWorldTextViewtextView=(TextView)findViewById(R.id.txt);textView.setText("Hello");//iOS设置某文本控件展示文案为HelloWorldUILabel*label=(UILabe

Dart 中 final和const 区别

均表示不可被修改相同点1、final、const必须初始化2、final、const只能赋值一次不同点1、final可修饰实例变量、const不可以修饰实例变量2、访问类中const修饰的变量需要static修饰3、const修饰的List集合任意索引不可修改,final修饰的可以修改4、const用来修饰变量只能被赋值一次,在编译时赋值final用来修饰变量只能被赋值一次,在运行时赋值5、final只可用来修饰变量,const关键字即可修饰变量也可用来修饰常量构造函数当const修饰类的构造函数时,它要求该类的所有成员都必须是final的。

Dart空安全的底层原理与适配

一、在空安全推出之前,静态类型系统允许所有类型的表达式中的每一处都可以有null。从类型理论的角度来说,Null类型被看作是所有类型的子类;   类型会定义一些操作对象,包括getters、setters、方法和操作符,在表达式中使用。如果是List类型,您可以对其调用.add()或[]。如果是int类型,您可以对其调用+。但是null值并没有它们定义的任何一个方法。所以当null传递至其他类型的表达式时,任何操作都有可能失败。这就是空引用的症结所在—所有错误都来源于尝试在null上查找一个不存在的方法或属性。 二、非空和可空类型空安全通过修改了类型的层级结构,从根源上解决了这个问题。Null

Flutter笔记:聊一聊Flutter中委托的设计方法

Flutter笔记聊一聊Flutter中委托的设计方法作者:李俊才(jcLee95):https://blog.csdn.net/qq_28550263邮箱:291148484@163.com本文地址:https://blog.csdn.net/qq_28550263/article/details/134056041【介绍】Flutter框架中提供了很多以“Delegate”一词结尾的类。Delegate表示中文“委托”,那么这些类为什么以Delegate结尾呢?反映了什么思想?本文归纳相关Delegate类,并谈一谈其中的设计逻辑。目录1.以GridView为例,从构造函数说起1.1默认构

android - TextField 更改触发完整的布局周期

在查看我的应用程序中的性能问题时,我发现每次按下按钮都会触发对完整onMeasure()/layout()循环的调用。我看不出有什么理由要重新布置整个应用程序;没有添加或删除任何内容,也没有任何内容改变我能看到的大小。当布局非常拥挤时,问题往往会发生,并且最下面一行的按钮可能超出屏幕边缘一两个像素。有人有这方面的经验吗?有什么方法可以确定触发布局周期的原因?如果屏幕上的任何TextField都没有被修改,布局似乎不会被触发(参见FindingthecauseofalayoutrequestinaViewGroup)。修改TextField是否总是会触发重新布局?我可以以某种方式锁定它以

基于Linux平台交叉编译 flutter arm64应用

   操作系统ubuntu20.04,开发工具AndroidStudio+Flutter,运行平台RK3566Linux。截止现在Flutter官方尚未正式对Linuxarm64进行支持,仅有flutter-elinux可用。开发环境的搭建过程遇到了很多的坑,幸运的是最终完成了。为避免后来者再次浪费时间,特撰此文以飨读者。   本文仅记录编译环境的搭建和验证,不涉及具体的应用开发。一、操作系统以及基础环境准备1、操作系统准备 本文选用ubuntu20.04。其他版本作者没试过,如果你验证某版本可行请留言。2、准备基础环境 安装unzipcurlclangcmakepkg-config以及g++